home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / ASM-MIPS / SGIDEFS.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  3KB  |  101 lines

  1. /*
  2.  * This file is subject to the terms and conditions of the GNU General Public
  3.  * License.  See the file "COPYING" in the main directory of this archive
  4.  * for more details.
  5.  *
  6.  * Copyright (C) 1996 by Ralf Baechle
  7.  *
  8.  * Definitions commonly used in SGI style code.
  9.  */
  10. #ifndef __ASM_SGIDEFS_H
  11. #define __ASM_SGIDEFS_H
  12.  
  13. /*
  14.  * There are compilers out there that don't define _MIPS_ISA, _MIPS_SIM,
  15.  * _MIPS_SZINT, _MIPS_SZLONG, _MIPS_SZPTR.  So we notify the user about this
  16.  * problem.  The kernel sources are aware of this problem, so we don't warn
  17.  * when compiling the kernel.
  18.  */
  19. #if !defined(_MIPS_ISA) && !defined(__KERNEL__)
  20. #warning "Macro _MIPS_ISA has not been defined by specs file"
  21. #endif
  22.  
  23. #if !defined(_MIPS_SIM) && !defined(__KERNEL__)
  24. #warning "Macro _MIPS_SIM has not been defined by specs file"
  25. #endif
  26.  
  27. #if !defined(_MIPS_SZINT) && !defined(__KERNEL__)
  28. #warning "Macro _MIPS_SZINT has not been defined by specs file"
  29. #endif
  30.  
  31. #if !defined(_MIPS_SZLONG) && !defined(__KERNEL__)
  32. #warning "Macro _MIPS_SZLONG has not been defined by specs file"
  33. #endif
  34.  
  35. #if !defined(_MIPS_SZPTR) && !defined(__KERNEL__)
  36. #warning "Macro _MIPS_SZPTR has not been defined by specs file"
  37. #endif
  38.  
  39. #if (!defined(_MIPS_ISA) || \
  40.      !defined(_MIPS_SIM) || \
  41.      !defined(_MIPS_SZINT) || \
  42.      !defined(_MIPS_SZLONG) || \
  43.      !defined(_MIPS_SZPTR)) && !defined(__KERNEL__)
  44. #warning "Please update your GCC to GCC 2.7.2-4 or newer"
  45. #endif
  46.  
  47. /*
  48.  * Now let's try our best to supply some reasonable default values for
  49.  * whatever defines GCC didn't supply.  This cannot be done correct for
  50.  * all possible combinations of options, so be careful with your options
  51.  * to GCC.  Best bet is to keep your fingers off the a.out GCC and use
  52.  * ELF GCC 2.7.2-3 where possible.
  53.  */
  54. #ifndef _MIPS_ISA
  55. #if __mips == 1
  56. #define _MIPS_ISA    _MIPS_ISA_MIPS1
  57. /* It is impossible to handle the -mips2 case correct.  */
  58. #elif __mips == 3
  59. #define _MIPS_ISA    _MIPS_ISA_MIPS3
  60. #elif __mips == 4
  61. #define _MIPS_ISA    _MIPS_ISA_MIPS4
  62. #else /* __mips must be 5 */
  63. #define _MIPS_ISA    _MIPS_ISA_MIPS5
  64. #endif
  65. #endif
  66. #ifndef _MIPS_SIM
  67. #define _MIPS_SIM    _MIPS_SIM_ABI32
  68. #endif
  69. #ifndef _MIPS_SZINT
  70. #define _MIPS_SZINT    32
  71. #endif
  72. #ifndef _MIPS_SZLONG
  73. #define _MIPS_SZLONG    32
  74. #endif
  75. #ifndef _MIPS_SZPTR
  76. #define _MIPS_SZPTR    32
  77. #endif
  78.  
  79. /*
  80.  * Definitions for the ISA level
  81.  */
  82. #define _MIPS_ISA_MIPS1 1
  83. #define _MIPS_ISA_MIPS2 2
  84. #define _MIPS_ISA_MIPS3 3
  85. #define _MIPS_ISA_MIPS4 4
  86. #define _MIPS_ISA_MIPS5 5
  87.  
  88. /*
  89.  * Subprogram calling convention
  90.  *
  91.  * At the moment only _MIPS_SIM_ABI32 is in use.  This will change rsn.
  92.  * Until GCC 2.8.0 is released don't rely on this definitions because the
  93.  * 64bit code is essentially using the 32bit interface model just with
  94.  * 64bit registers.
  95.  */
  96. #define _MIPS_SIM_ABI32        1
  97. #define _MIPS_SIM_NABI32    2
  98. #define _MIPS_SIM_ABI64        3
  99.  
  100. #endif /* __ASM_SGIDEFS_H */
  101.